// Decompiled on 周六 2月 22 19:31:49 CST 2025 with Zomboid Decompiler v0.1.3 using Vineflower.
package zombie.interfaces;

import java.nio.ByteBuffer;
import zombie.core.textures.Mask;
import zombie.core.utils.WrappedBuffer;

public interface ITexture extends IDestroyable, IMaskerable {
    void bind();

    void bind(int unit);

    WrappedBuffer getData();

    int getHeight();

    int getHeightHW();

    int getID();

    int getWidth();

    int getWidthHW();

    float getXEnd();

    float getXStart();

    float getYEnd();

    float getYStart();

    boolean isSolid();

    void makeTransp(int red, int green, int blue);

    void setAlphaForeach(int red, int green, int blue, int alpha);

    void setData(ByteBuffer data);

    void setMask(Mask mask);

    void setRegion(int x, int y, int width, int height);
}
